dialectic-tokio-mpsc 0.1.0

A backend for the Dialectic crate using Tokio's MPSC channels
Documentation

Rust license: MIT crates.io docs.rs documentation

This crate contains the Tokio/MPSC backend for Dialectic. It supports send/receive operations over all types which are Send + Any. This is useful for inter-task and inter-thread communication, especially if you're working on a protocol which needs to be tested locally and is written to be backend-agnostic. There are a few important types:

  • The dialectic_tokio_mpsc::Chan<P> synonym is a quick type synonym for a channel which uses a bounded MPSC Sender/Receiver pair, and analogously the dialectic_tokio_mpsc::UnboundedChan<P> provides a similar functionality for unbounded MPSC channels.
  • The dialectic_tokio_mpsc::Receiver/Sender/UnboundedReceiver/UnboundedSender types transparently wrap the underlying MPSC receiver/sender types. If not for the orphan rules, Dialectic's Transmitter/Receiver/Transmit/Receive traits would be directly implemented on the tokio::mpsc types, but Rust does not allow that.
  • Addditionally, dialectic_tokio_mpsc::channel() and unbounded_channel() are provided for conveniently constructing pairs of these transport types.